﻿''' <summary>
''' Noch was allgemeines... eigentlich könnten wir das auch (teilweise) mit den KOs überschreiben.. das eben nicht jeder KO das gleiche sagt, sondern, dass sie sich eben individuell freuen.
''' </summary>
''' <remarks></remarks>
Class KI_Sprache
    Shared KI_Sieg As New Stack(Of String)
    Shared KI_Niederlage As New Stack(Of String)
    Shared KI_Spott As New Stack(Of String)
    Shared KI_Betteln As New Stack(Of String)
    Shared KI_Freude As New Stack(Of String)
    Shared KI_Trauer As New Stack(Of String)


    ''' <summary>
    ''' Initialisiert die sprach KI mit der aktuellen sprache aus My.Settings
    ''' </summary>
    ''' <remarks></remarks>
    Public Shared Sub Ini()
        KI_Sieg.Clear()
        KI_Niederlage.Clear()
        KI_Spott.Clear()
        KI_Betteln.Clear()
        KI_Freude.Clear()
        KI_Trauer.Clear()

        Dim AktuellerText As Stack(Of String) = KI_Sieg

        Dim Sprache As Sprachen = My.Settings.Sprache
        Dim Dat As String = My.Settings.Resourcenpfad + "Sprachen\" + Sprache.ToString + "\KI.txt"
        If My.Computer.FileSystem.FileExists(Dat) Then
            'Na gut... dann laden wir mal die Texte..
            Using strR As New IO.StreamReader(Dat, System.Text.Encoding.UTF8, True)
                While Not strR.EndOfStream
                    Dim z As String = strR.ReadLine
                    If z.Contains("//") Then z = z.Remove(z.IndexOf("//"))
                    z = z.Trim
                    If z = "" Then Continue While

                    If z.ToLower = "Sieg:".ToLower Then
                        AktuellerText = KI_Sieg
                        Continue While
                    End If
                    If z.ToLower = "Niederlage:".ToLower Then
                        AktuellerText = KI_Niederlage
                        Continue While
                    End If
                    If z.ToLower = "Spott:".ToLower Then
                        AktuellerText = KI_Spott
                        Continue While
                    End If
                    If z.ToLower = "Betteln:".ToLower Then
                        AktuellerText = KI_Betteln
                        Continue While
                    End If
                    If z.ToLower = "Freude:".ToLower Then
                        AktuellerText = KI_Freude
                        Continue While
                    End If
                    If z.ToLower = "Trauer:".ToLower Then
                        AktuellerText = KI_Trauer
                        Continue While
                    End If

                    AktuellerText.Push(z)
                End While
            End Using
        End If
    End Sub

    Public Shared Sub Sieg()
        Dim KI_Texte As Stack(Of String) = KI_Sieg
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub
    Public Shared Sub Niederlage()
        Dim KI_Texte As Stack(Of String) = KI_Niederlage
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub
    Public Shared Sub Spotten()
        Dim KI_Texte As Stack(Of String) = KI_Spott
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub
    Public Shared Sub Betteln()
        Dim KI_Texte As Stack(Of String) = KI_Betteln
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub
    Public Shared Sub Freude()
        Dim KI_Texte As Stack(Of String) = KI_Freude
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub
    Public Shared Sub Trauer()
        Dim KI_Texte As Stack(Of String) = KI_Trauer
        If KI_Texte.Count > 0 Then
            'immerhin gibt es etwas, dass man sagen kann.
            Dim ind As Integer = Spieletools.Zufallszahl(0, KI_Texte.Count - 1)
            Dim Satz As String = KI_Texte(ind)
            Sprechen(Satz)
        End If
    End Sub

    Private Shared Sub Sprechen(ByVal Text As String)

    End Sub


End Class
